#ifndef MAPDB_H
#define MAPDB_H
#include <map>
#include <utility>
#include <algorithm>
#include <exception>
#include <atomic>
#include <vector>
#include "onemap.h"

class CppSQLite3DB;
class MapDB
{
public:
    MapDB(OneMap *g_onemapIn,CppSQLite3DB *g_MapdbIn);
    //载入地图,重启程序g_Mapdb->open(MAP_DB_File)生效。
    bool load();
    //保存地图
    bool save();
    int checkTable();
private:
    //从配置或者数据库中载入地图
    bool loadFromDb();
    //清空所有地图信息
    void clear();
//    void check();
    std::vector<std::string> split_str(std::string src,std::string sp);


private:
    std::atomic_bool mapModifying;
    OneMap *g_onemap;//地图节点
    CppSQLite3DB *g_Mapdb;
};

#endif // MAPDB_H
